---
title: Agent Fallbacks
description: "A failsafe when unexpected page changes add extra steps"
---
import { V3Banner } from '/snippets/v3-banner.mdx';

<V3Banner />


## When to use

Use an agent fallback as a failsafe when a one step action unexpectedly becomes a multi-step flow.

## How it works

1. [`act()`](/v3/basics/act) is attempted for the direct action
2. If it fails, [`agent()`](/v3/basics/agent) figures out the new path
3. Agent completes all needed steps (open menu → click button)

### Example scenario

**Before**: Sign in button was in the header  
**After**: Sign in now requires: Click account menu → Click "Sign in" option

A single `act("click sign in")` can't handle this change. The agent fallback can discover and execute both steps.

```typescript
import { Stagehand } from "@browserbasehq/stagehand";

try {
  await stagehand.act("click the 'Sign In' button");
} catch (err) {
  console.log("Agent fallback triggered");

  const agent = stagehand.agent({
    model: "anthropic/claude-sonnet-4-20250514",
    systemPrompt: "You are a helpful assistant that can use a web browser.",
  });

  const result = await agent.execute({
    instruction: "Find and click Sign In button",
    maxSteps: 10,
  });

  console.log(result.success ? "Agent fallback success" : "Agent fallback failed");

  if (!result.success) throw err;
}
```

See all available agent models on the [models page](/v3/configuration/models#agent-models-with-cua-support).
